
#include <stdio.h>
#include <ctype.h>  // 引入 ctype.h 以便使用 tolower 函数

/* 将k进制数str转换为十进制 */
int KToD(char str[], int k) {
    int i, sum;
    sum = 0;

    for (i = 0; str[i] != '\0'; i++) {
        int digit;
        if (isdigit(str[i])) {
            // 将数字转换为数字
            digit = str[i] - '0';
        } else {
            // 将字母转换为数字
            digit = tolower(str[i]) - 'a' + 10;
        }
        if (digit >= k) {
            // 无效的数字
            printf("Invalid digit for base %d: %c\n", k, str[i]);
            return -1;  // 返回错误码表示无效的数字
        }
        // 计算当前数字的权重 和结果
        sum = sum * k + digit;
    }

    return sum;
}

int main(void) {
    int i, n, k, d, max;
    char a[50];
    scanf("%d", &n);
    max = 0; /* 所有输入为非负数 */
    for (i = 1; i <= n; i++) {
        scanf("%s%d", a, &k);
        d = KToD(a, k);
        if (d > max)
            max = d;
    }
    printf("%d\n", max);
    return 0;
}
